/**************************************************************************
*   Copyleft 2009 by        											  *
*	Iwanicki Krzysztof													  *
*   <www.gamma.mini.pw.edu.pl/~iwanickik>		                          *
*                                                                         *
*   This program is free software; you can redistribute it and/or modify  *
*   it under the terms of the GNU General Public License as published by  *
*   the Free Software Foundation; either version 2 of the License, or     *
*   (at your option) any later version.                                   *
*                                                                         *
*   This program is distributed in the hope that it will be useful,       *
*   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
*   GNU General Public License for more details.                          *
***************************************************************************/
#ifndef __VCONFIGOPTION_H__
#define __VCONFIGOPTION_H__

#include "../../Utils/vUtils.h"
#include "../../Macros/vMemoryMacros.h"

namespace Vendetta {
	/*! \class vConfigOption
	 *   \brief A vConfigOption is simple form of options. Mainly for configuration settings.
	 *
	 */
	class vConfigOption {
	public:
		/*! \brief Default constructor.
		 *
		 */	
		vConfigOption();

		/*! \brief Default copy constructor.
		 *
		 */	
		vConfigOption(const vConfigOption& options);

		/*! \brief Default destructor.
		 *
		 */	
		~vConfigOption();

		/*! \brief Assign operator.
		 *
		 */	
		vConfigOption& operator=(const vConfigOption& options);

	public:
		//! String values that represents all available options.
		vArray<vString> AvailableOptions;

		//! Current selected option. Default first from the list.
		vString CurrentOption;

		//! If option is set to read only, it can't be changed by user.
		vBool IsReadOnly;

	};
}

#endif // __VCONFIGOPTION_H__